import axios from "axios"
// import { ElLoading } from 'element-plus'
//二次封装
//创建实例时配置默认值
const instance = axios.create({
    //所有路由api
    baseURL: "http://gzh0707.com/api",
    //请求时间
    timeout: 20000
})
//请求拦截:发出请求之前 添加信息  设置token 显示loading
//相应拦截:解析响应之前 添加信息  401用户过期处理 关闭loading
// 添加请求拦截器
let loadingInstance = null
instance.interceptors.request.use(function (config) {
    //展示loading
    loadingInstance = ElLoading.service({ fullscreen: true })
    // 在发送请求之前做些什么
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    loadingInstance.close()
    //加上data可以去除axios自带封装
    return response.data;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    loadingInstance.close()
    return Promise.reject(error);
});
export default instance